﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace ProjManagSolution.Web
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "ImyWebService" in both code and config file together.
    [ServiceContract]
    public interface ImyWebService
    {
        [OperationContract]
        List<user> GetUsers();

        [OperationContract]
        user GetUserDetails(int userID);

        [OperationContract]
        List<project> GetProjects();

        [OperationContract]
        List<project> GetProjectsByManager(int managerID);

        [OperationContract]
        List<milestone> GetMilestones(int projectID);

        [OperationContract]
        List<phase> GetPhases(int milestoneID);

        [OperationContract]
        List<task> GetTasks(int phaseID);

        [OperationContract]
        bool GetUserDetailByAuth(string email, string pass);

        [OperationContract]
        List<project> GetInvolvedProjects(int userID);

        [OperationContract]
        void InsertUser(user newUser);

        [OperationContract]
        void UpdateUserDetails(int userID , user updatedUser);

        [OperationContract]
        void InsertProject(project newProject);

        [OperationContract]
        project GetProjectDetail(int projectID);

        [OperationContract]
        void UpdateProjectDetails(int projectID , project updatedProject);

        [OperationContract]
        void DeleteProject(int projectID);

        [OperationContract]
        List<user> GetProjectMembers(int projectID);
    }
}
